package com.ruoyi.project.warehouse.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 入库对象 ry_depot_item
 *
 * @author you
 * @date 2022-09-06
 */
public class RyDepotItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 单据Id */
    @Excel(name = "单据Id")
    private Long headerId;

    /** 商品Id */
    @Excel(name = "商品Id")
    private Long inventoryId;

    /** 物品名称 */
    @Excel(name = "物品名称")
    private String inventoryName;

    /** 规格 */
    @Excel(name = "规格")
    private String inventorySpecifications;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long supplyId;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supply;

    /** wbs编码 */
    @Excel(name = "wbs编码")
    private String wbs;

    /** 待采购数量 */
    @Excel(name = "待采购数量")
    private Double advancePurchaseNum;

    /** 总库可用数量 */
    @Excel(name = "总库可用数量")
    private Double usableNum;

    /** 实际采购数量 */
    private Double actualPurchaseNum;

    /** 合格数量 */
    @Excel(name = "合格数量")
    private Double qualifiedNum;

    /** 不合格数量 */
    @Excel(name = "不合格数量")
    private Double unqualifiedNum;

    /** 不合格原因 */
    @Excel(name = "不合格原因")
    private String unqualifiedReason;

    /** 发货状态（0未发1已发2运输中3已到4重发） */
    @Excel(name = "发货状态", readConverterExp = "0=未发1已发2运输中3已到4重发")
    private String shippingStatus;

    /** 退回状态 */
    @Excel(name = "退回状态")
    private String returnStatus;

    /** 重发状态 */
    @Excel(name = "重发状态")
    private String retransmissionStatus;

    /** 重发数量 */
    @Excel(name = "重发数量")
    private Double retransmissionNum;

    /** 数量 */
    @Excel(name = "数量")
    private Double operNumber;

    /** 操作员员*/
    private Long operMan;

    /** 采购订单id*/
    private Long purchaseInId;

    /** 项目出库订单id*/
    private Long purchaseOutId;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal allPrice;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long depotId;

    /** 调拨时，对方仓库Id */
    private Long anotherDepotId;

    /** 类别：0入库/1出库/2锁定 */
    @Excel(name = "类别：0入库/1出库/2锁定")
    private String headerType;

    /** 锁定状态:0锁定1取消 */
    @Excel(name = "锁定状态:0锁定1取消")
    private String lockStatus;

    /** 税率 */
    private BigDecimal taxRate;

    /** 税额 */
    private BigDecimal taxMoney;

    /** 价税合计 */
    private BigDecimal taxLastMoney;

    /** 序列号列表 */
    private String snList;

    /** 批号 */
    private String batchNumber;

    /** 有效日期 */
    private Date expirationDate;

    /** 操作时间： 入库时间/出库时间/锁定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operTime;

    /** 关联明细id */
    private Long linkId;

    /** 租户id */
    private Long tenantId;

    /** 删除标记，0未删除，1删除 */
    private String delFlag;

    /** 是否关联项目 */
    private String belongtoProject;

    /** 已入库数量 */
    @Excel(name = "已入库数量")
    private Double havaInNum;

    /** 入库数量，总数量 */
    @Excel(name = "入库数量")
    private Double inNum;

    /** 入库仓库id */
    @Excel(name = "入库仓库id")
    private Long inDepotId;

    /** 入库仓库 */
    @Excel(name = "入库仓库")
    private String inDepot;

    /** 库位 */
    @Excel(name = "库位")
    private String location;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inTime;

    /** 入库操作人员 */
    @Excel(name = "入库操作人员")
    private String inOperateMan;

    /** 已出库数量 */
    @Excel(name = "已出库数量")
    private Double havaOutNum;

    /** 出库数量 */
    @Excel(name = "出库数量")
    private Double outNum;

    /** 出库仓库id */
    @Excel(name = "出库仓库id")
    private Long outDepotId;

    /** 出库仓库 */
    @Excel(name = "出库仓库")
    private String outDepot;

    /** 是否生成过订单 */
    private String isCreateOrder;

    /** 到货日期 */
    private Date deliveryTime;

    /** 品牌 */
    private String brand;

    /** 转移数量 */
    private Double transferNum;

    public Double getTransferNum() {
        return transferNum;
    }

    public void setTransferNum(Double transferNum) {
        this.transferNum = transferNum;
    }

    public String getIsCreateOrder() {
        return isCreateOrder;
    }

    public void setIsCreateOrder(String isCreateOrder) {
        this.isCreateOrder = isCreateOrder;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Double getHavaInNum() {
        return havaInNum;
    }

    public void setHavaInNum(Double havaInNum) {
        this.havaInNum = havaInNum;
    }

    public Double getInNum() {
        return inNum;
    }

    public void setInNum(Double inNum) {
        this.inNum = inNum;
    }

    public Long getInDepotId() {
        return inDepotId;
    }

    public void setInDepotId(Long inDepotId) {
        this.inDepotId = inDepotId;
    }

    public String getInDepot() {
        return inDepot;
    }

    public void setInDepot(String inDepot) {
        this.inDepot = inDepot;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public Date getInTime() {
        return inTime;
    }

    public void setInTime(Date inTime) {
        this.inTime = inTime;
    }

    public String getInOperateMan() {
        return inOperateMan;
    }

    public void setInOperateMan(String inOperateMan) {
        this.inOperateMan = inOperateMan;
    }

    public Double getHavaOutNum() {
        return havaOutNum;
    }

    public void setHavaOutNum(Double havaOutNum) {
        this.havaOutNum = havaOutNum;
    }

    public Double getOutNum() {
        return outNum;
    }

    public void setOutNum(Double outNum) {
        this.outNum = outNum;
    }

    public Long getOutDepotId() {
        return outDepotId;
    }

    public void setOutDepotId(Long outDepotId) {
        this.outDepotId = outDepotId;
    }

    public String getOutDepot() {
        return outDepot;
    }

    public void setOutDepot(String outDepot) {
        this.outDepot = outDepot;
    }

    public String getShippingStatus() {
        return shippingStatus;
    }

    public void setShippingStatus(String shippingStatus) {
        this.shippingStatus = shippingStatus;
    }

    public String getReturnStatus() {
        return returnStatus;
    }

    public void setReturnStatus(String returnStatus) {
        this.returnStatus = returnStatus;
    }

    public String getRetransmissionStatus() {
        return retransmissionStatus;
    }

    public void setRetransmissionStatus(String retransmissionStatus) {
        this.retransmissionStatus = retransmissionStatus;
    }

    public Double getRetransmissionNum() {
        return retransmissionNum;
    }

    public void setRetransmissionNum(Double retransmissionNum) {
        this.retransmissionNum = retransmissionNum;
    }

    public Double getActualPurchaseNum() {
        return actualPurchaseNum;
    }

    public void setActualPurchaseNum(Double actualPurchaseNum) {
        this.actualPurchaseNum = actualPurchaseNum;
    }

    public String getInventoryName() {
        return inventoryName;
    }

    public void setInventoryName(String inventoryName) {
        this.inventoryName = inventoryName;
    }

    public String getInventorySpecifications() {
        return inventorySpecifications;
    }

    public void setInventorySpecifications(String inventorySpecifications) {
        this.inventorySpecifications = inventorySpecifications;
    }

    public Long getSupplyId() {
        return supplyId;
    }

    public void setSupplyId(Long supplyId) {
        this.supplyId = supplyId;
    }

    public String getSupply() {
        return supply;
    }

    public void setSupply(String supply) {
        this.supply = supply;
    }

    public String getWbs() {
        return wbs;
    }

    public void setWbs(String wbs) {
        this.wbs = wbs;
    }

    public Double getAdvancePurchaseNum() {
        return advancePurchaseNum;
    }

    public void setAdvancePurchaseNum(Double advancePurchaseNum) {
        this.advancePurchaseNum = advancePurchaseNum;
    }

    public Double getUsableNum() {
        return usableNum;
    }

    public void setUsableNum(Double usableNum) {
        this.usableNum = usableNum;
    }

    public Double getQualifiedNum() {
        return qualifiedNum;
    }

    public void setQualifiedNum(Double qualifiedNum) {
        this.qualifiedNum = qualifiedNum;
    }

    public Double getUnqualifiedNum() {
        return unqualifiedNum;
    }

    public void setUnqualifiedNum(Double unqualifiedNum) {
        this.unqualifiedNum = unqualifiedNum;
    }

    public String getUnqualifiedReason() {
        return unqualifiedReason;
    }

    public void setUnqualifiedReason(String unqualifiedReason) {
        this.unqualifiedReason = unqualifiedReason;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public String getBelongtoProject() {
        return belongtoProject;
    }

    public void setBelongtoProject(String belongtoProject) {
        this.belongtoProject = belongtoProject;
    }

    public Long getPurchaseOutId() {
        return purchaseOutId;
    }

    public void setPurchaseOutId(Long purchaseOutId) {
        this.purchaseOutId = purchaseOutId;
    }

    public Long getOperMan() {
        return operMan;
    }

    public void setOperMan(Long operMan) {
        this.operMan = operMan;
    }

    public Long getPurchaseInId() {
        return purchaseInId;
    }

    public void setPurchaseInId(Long purchaseInId) {
        this.purchaseInId = purchaseInId;
    }

    public Date getOperTime() {
        return operTime;
    }

    public void setOperTime(Date operTime) {
        this.operTime = operTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setHeaderId(Long headerId)
    {
        this.headerId = headerId;
    }

    public Long getHeaderId()
    {
        return headerId;
    }
    public void setInventoryId(Long inventoryId)
    {
        this.inventoryId = inventoryId;
    }

    public Long getInventoryId()
    {
        return inventoryId;
    }
    public void setOperNumber(Double operNumber)
    {
        this.operNumber = operNumber;
    }

    public Double getOperNumber()
    {
        return operNumber;
    }
    public void setAllPrice(BigDecimal allPrice)
    {
        this.allPrice = allPrice;
    }

    public BigDecimal getAllPrice()
    {
        return allPrice;
    }
    public void setDepotId(Long depotId)
    {
        this.depotId = depotId;
    }

    public Long getDepotId()
    {
        return depotId;
    }
    public void setAnotherDepotId(Long anotherDepotId)
    {
        this.anotherDepotId = anotherDepotId;
    }

    public Long getAnotherDepotId()
    {
        return anotherDepotId;
    }
    public void setHeaderType(String headerType)
    {
        this.headerType = headerType;
    }

    public String getHeaderType()
    {
        return headerType;
    }
    public void setLockStatus(String lockStatus)
    {
        this.lockStatus = lockStatus;
    }

    public String getLockStatus()
    {
        return lockStatus;
    }
    public void setTaxRate(BigDecimal taxRate)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setTaxMoney(BigDecimal taxMoney)
    {
        this.taxMoney = taxMoney;
    }

    public BigDecimal getTaxMoney()
    {
        return taxMoney;
    }
    public void setTaxLastMoney(BigDecimal taxLastMoney)
    {
        this.taxLastMoney = taxLastMoney;
    }

    public BigDecimal getTaxLastMoney()
    {
        return taxLastMoney;
    }
    public void setSnList(String snList)
    {
        this.snList = snList;
    }

    public String getSnList()
    {
        return snList;
    }
    public void setBatchNumber(String batchNumber)
    {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber()
    {
        return batchNumber;
    }
    public void setExpirationDate(Date expirationDate)
    {
        this.expirationDate = expirationDate;
    }

    public Date getExpirationDate()
    {
        return expirationDate;
    }
    public void setLinkId(Long linkId)
    {
        this.linkId = linkId;
    }

    public Long getLinkId()
    {
        return linkId;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId()
    {
        return tenantId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("headerId", getHeaderId())
            .append("inventoryId", getInventoryId())
            .append("operNumber", getOperNumber())
            .append("allPrice", getAllPrice())
            .append("remark", getRemark())
            .append("depotId", getDepotId())
            .append("anotherDepotId", getAnotherDepotId())
            .append("headerType", getHeaderType())
            .append("lockStatus", getLockStatus())
            .append("taxRate", getTaxRate())
            .append("taxMoney", getTaxMoney())
            .append("taxLastMoney", getTaxLastMoney())
            .append("snList", getSnList())
            .append("batchNumber", getBatchNumber())
            .append("expirationDate", getExpirationDate())
            .append("linkId", getLinkId())
            .append("tenantId", getTenantId())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
